Pre-generating data for user interface latency improvement

ABSTRACT

A computing device can transmit data corresponding to an initiation of a client application to a computing system. before a user provides a specific destination on the client application, the computing system can receive data for a set of user interface features from the computing system. The data can correspond to each of one or more likely destinations of the user. The computing device can cache the data for each of the one or more likely destinations in a local memory of the computing device. When the user specifies a destination that is one of the one or more likely destinations, the client application retrieves a corresponding set of user interface features for the specified destination from the memory of the computing device.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.17/159,874, filed on Jan. 27, 2021; which is a continuation of U.S.patent application Ser. No. 16/896,437 (now U.S. Pat. No. 10,929,156),filed on Jun. 9, 2020, the aforementioned applications being herebyincorporated by reference in its entirety.

BACKGROUND

Application user interface features displayed on computing devices canbe reliant on real-time processing of data in response to userinteractions with the application. For example, selection inputs of userinterface features may cause the application to execute an algorithm toperform a set of calculations that can delay the presentation of certainuser interface features until the set of calculations are performed andthe resulting user interface features are generated.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure herein is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings in which likereference numerals refer to similar elements, and in which:

FIG. 1 is a block diagram illustrating an example computing systemimplementing graphical user interface (GUI) latency improvementfunctions, in accordance with examples described herein;

FIG. 2 is a block diagram illustrating an example computing deviceexecuting one or more service applications for communicating with acomputing system, according to examples described herein;

FIGS. 3A and 3B are example GUIs showing the pre-generated GUI contentbeing presented, according to various examples;

FIG. 4 is a flow chart describing an example method of pre-generatingGUI content for display on a computing device of a user, according tovarious examples; and

FIG. 5 is a block diagram that illustrates a computer system upon whichexamples described herein may be implemented.

DETAILED DESCRIPTION

A computing system can communicate with computing devices of users of anapplication-based service, such as an on-demand transport service forridesharing and/or goods delivery. The computing system can store a userprofile for each user, which can include historical utilization data ofthe user. For example, the user profile can include common locations ofinterest of the user or prior destinations of the user, such as a workdestination and a home destination, and further include preferenceinformation of the user, such as commonly used transport services (e.g.,carpool, standard rideshare, food delivery, etc.). In certainimplementations, the computing system can execute learning andpredictive models based on the historical utilization data and currentutilization data of each user to pre-generate user interface contentprior to the user accessing such features. In further aspects, executionof the learning and predictive models can account for current contextinformation of the user, such as the user's current location, todetermine the user's intent (e.g., a probability that the user willengage a particular service accessible through the application).

In various implementations, the pre-generated content may then be cachedor stored in local memory of the computing device of the user for readypresentation when the user provides the triggering inputs for suchfeatures. In one example, the computing system can determine currentcontextual information of the user, such as the user's current location,a time of day, and/or a day of the week, and determine one or morelikely destinations to which the user may wish to be transported.Additionally or alternatively, the computing system can process thecurrent contextual information to determine one or more on-demandservices that the user is likely to request. Based on the currentcontextual information and the historical utilization data of the user,the computing system can pre-calculate a cost or fare (e.g., actual orestimated) for each of the likely destinations and pre-generate a set ofuser interface features in case the user provides a triggering input forthose features. The computing system may then cache (store locally inmemory at the client computing device) the pre-generated features forsubsequent display when the triggering input is detected.

Accordingly, in caching the features, the computing system can associateeach user interface feature with one or more triggering conditions. Whena particular triggering condition is met, such as a user selection orinput specifying of a particular service and/or destination, thecomputing system can cause the cached, pre-generated set of userinterface features corresponding to the triggering condition to bedisplayed on the user interface of the application. It is contemplatedthat the techniques described herein can reduce display latency andimprove the overall user experience, thereby increasing serviceengagement.

Among other benefits, examples described herein achieve a technicaleffect of decreasing GUI latency through pre-generation of userinterface content prior to access by the user. In the context ofon-demand transport, the computing system can be triggered (e.g.,through detection of an application launch on a user's computing device)to determine a set of likely destinations of the user, determinetransport supply information for those destinations given the user'scurrent location, and pre-calculate a fare for each likely destination.Content corresponding to the pre-calculated fair may then be cached(e.g., either on the backend or on the computing device of the user) forready display when the user selects one of the likely destinations.

As used herein, a computing device refers to devices corresponding todesktop computers, cellular devices or smartphones, personal digitalassistants (PDAs), laptop computers, virtual reality (VR) or augmentedreality (AR) headsets, tablet devices, television (IP Television), etc.,that can provide network connectivity and processing resources forcommunicating with the system over a network. A computing device canalso correspond to custom hardware, in-vehicle devices, or on-boardcomputers, etc. The computing device can also operate a designatedapplication configured to communicate with the network service.

One or more examples described herein provide that methods, techniques,and actions performed by a computing device are performedprogrammatically, or as a computer-implemented method. Programmatically,as used herein, means through the use of code or computer-executableinstructions. These instructions can be stored in one or more memoryresources of the computing device. A programmatically performed step mayor may not be automatic.

One or more examples described herein can be implemented usingprogrammatic modules, engines, or components. A programmatic module,engine, or component can include a program, a sub-routine, a portion ofa program, or a software component or a hardware component capable ofperforming one or more stated tasks or functions. As used herein, amodule or component can exist on a hardware component independently ofother modules or components. Alternatively, a module or component can bea shared element or process of other modules, programs or machines.

Some examples described herein can generally require the use ofcomputing devices, including processing and memory resources. Forexample, one or more examples described herein may be implemented, inwhole or in part, on computing devices such as servers, desktopcomputers, cellular or smartphones, personal digital assistants (e.g.,PDAs), laptop computers, VR or AR devices, printers, digital pictureframes, network equipment (e.g., routers) and tablet devices. Memory,processing, and network resources may all be used in connection with theestablishment, use, or performance of any example described herein(including with the performance of any method or with the implementationof any system).

Furthermore, one or more examples described herein may be implementedthrough the use of instructions that are executable by one or moreprocessors. These instructions may be carried on a computer-readablemedium. Machines shown or described with figures below provide examplesof processing resources and computer-readable mediums on whichinstructions for implementing examples disclosed herein can be carriedand/or executed. In particular, the numerous machines shown withexamples of the invention include processors and various forms of memoryfor holding data and instructions. Examples of computer-readable mediumsinclude permanent memory storage devices, such as hard drives onpersonal computers or servers. Other examples of computer storagemediums include portable storage units, such as CD or DVD units, flashmemory (such as carried on smartphones, multifunctional devices ortablets), and magnetic memory. Computers, terminals, network enableddevices (e.g., mobile devices, such as cell phones) are all examples ofmachines and devices that utilize processors, memory, and instructionsstored on computer-readable mediums. Additionally, examples may beimplemented in the form of computer-programs, or a computer usablecarrier medium capable of carrying such a program.

System Description

FIG. 1 is a block diagram illustrating an example computing systemimplementing graphical user interface (GUI) latency improvementfunctions, in accordance with examples described herein. The computingsystem 100 can include a communication interface 115 that enablescommunications, over one or more networks 170, with computing devices oftransport providers 180 of a transport service (e.g., rideshare, fooddelivery, etc.). The communication interface 115 further enables networkcommunications with computing devices 190 of requesting users 197 of thetransport service via a service application 196 (e.g. a riderapplication for the transport service). In doing so, a matching engine160 of the computing system 100 can receive transport requests from therequesting users 197 and match the users 197 with transport providers180 based on location data received from both the requesting users 197and the transport providers 180.

In various implementations, the matching engine 160 can do so bytransmitting transport invitations to transport providers 180 that areoptimally situated to provide the transport service for each of therequesting users 197. On the user device 190, the requesting user 197can interact with a GUI of the service application 196 to view transportservices and their options. Each option can be associated with a fare,or estimated fare range, that is calculated based on the supplyconditions of the transport providers 180. In previous implementations,a fare calculator 140 of the computing system 140 would be triggered todetermine a set of fares upon selection of a particular service featureor a destination on the GUI of the service application 196. For example,if a requesting user 197 wishes to be transported to a particulardestination, the requesting user 197 would first input the destination,which would trigger the fare calculator 140 to determine a set of faresfor the various options for transport (e.g., standard rideshare,carpool, luxury vehicle, high capacity vehicle, etc.). The fares maythen be presented on the GUI on content features selectable by the user197 to request a particular service option.

The fare determination for each service option is non-trivial. As anexample, the fare calculator 140 receives location data from thecomputing devices of a set of candidate transport providers 180 within acertain proximity of the requesting user 197. The fare calculator 140may then determine a set of estimated times of arrival (ETAs) for eachcandidate transport provider 180 to pick up the requesting user 197 andthen transport the user 197 to the destination. Based on these ETAs, thefare calculator 140 can determine a fare for each ride service option,and cause selectable user interface features on the GUI of the serviceapplication 196 to update and present the fares for each option.

It is contemplated that calculation of the fares upon receivingdestination information from the requesting user 197 results in acertain amount of user interface latency on the GUI of the serviceapplication 196. For example, the calculation and presentation of thefares on the selection user interface features may result in a load timeof one second or so. It is further contemplated that user experience isparticularly dependent on user interface load times. For example, if aparticular GUI feature of a content app takes more than one or twoseconds to load, a typical user 197 may close the screen or move on tofurther content. Accordingly, even the slightest temporal changes inload times of GUI features can make a significant difference in userexperience.

According to examples provided herein, the computing system 100 caninclude a content pre-generation engine 150 that can detect aninitiation trigger corresponding to a requesting user 197 launching theservice application 196 on the user's computing device 190. Thecomputing system 100 can further include a database 110 storing userprofiles 112 that indicate the requesting user's 197 historicalutilization information corresponding to the transport service. Thishistorical information can indicate common and likely destinationsspecific to the requesting user 197, such as a work location, a homelocation, an exercise or activity location, a car service location, anairport or train station, and the like.

Upon detecting an initiation trigger, the content pre-generation engine150 can perform a search (e.g. in the profile 112 of the user 197) forhistorical data indicating the likely destinations of the user 197. Thecontent pre-generation engine 150 can further interact with the farecalculator 140 by providing the likely destinations of the user 197. Incertain examples, the content pre-generation engine 150 can filter thecommon destinations based on current contextual information. Forexample, if the user 197 is currently at a home location, the contentpre-generation engine 150 can filter out the home location of the user197 for the fare calculation.

In further implementations, the content pre-generation engine 150 canaccount for the day of the week and a current time of day to filter thecommon destinations. For example, if the user 197 has a typical weeklywork schedule and it is currently a weekend, the content pre-generationengine 150 can filter out the user's work location. Accordingly, invarious examples, the fare calculator 140 can determine the currentlocation of the user 197 and provide a set of common or likelydestinations to the fare calculator 140. The fare calculator 140 maythen determine the supply conditions of the transport providers 180 andone or more candidate providers within a certain proximity of the user197 to determine a set of fares for each transport option and to eachpotential destination of the user 197. Thus, prior to receiving thedesired destination from the requesting user 197, the fare calculator140, in coordination with the content pre-generation engine 150, candetermine a set of fares for each possible destination of the user 197.

Using the set of fares for each possible destination, the contentpre-generation engine 150 can pre-generate user interface features forready display on the GUI of the service application 196 executing on theuser's computing device 190. The content pre-generation engine 150 maythen cache the pre-generated user interface features either in a localcache or on the user's computing device 190 via the service application196. The pre-generated user interface features can comprise the faresfor each service option and for each potential destination, as describedherein. In certain implementations, the pre-generated user interfacefeatures can also be selectable to enable the user 197 to select aparticular service option for transport to the selected or specifieddestination.

Accordingly, when the user 197 actually selects or inputs a destination,the pre-generated content corresponding to that destination may bepresented without having to calculate the fares. User interface latencyis therefore reduced, which is determined to enhance user engagementwith the service application 196 and the transport service. It iscontemplated that the pre-generation of user interface featurescorresponding to fare calculation to circumvent selection triggers thatwould normally cause the calculation can result in significant userinterface latency reduction. It is further contemplated that such farecalculations need not be limited to on-demand transport, but may furtherbe performed for additional services, such as food preparation and/ordelivery, package delivery, and the like.

Still further, if the requesting user 197 selects a destination that hasnot been provided in the common destinations, then the fare calculator140 can fall back to the default calculation method. Accordingly, thepre-generated user interface features can cause the service application196 to run in an accelerated state, latency-wise, if one of the commondestinations are selected or specified by the user 197. If the user 197inputs an alternative destination, then the service application 196 willrun in a legacy state with the fare calculation performed in response toreceiving the destination information.

Computing Device

FIG. 2 is a block diagram illustrating an example computing deviceexecuting a service application for communicating with a computingsystem, according to examples described herein. In many implementations,the computing device 200 can comprise a mobile computing device, such asa smartphone, tablet computer, laptop computer, VR or AR headset device,and the like. As such, the computing device 200 can include telephonyfeatures such as a microphone 245, a camera 250, and a communicationinterface 210 to communicate with external entities using any number ofwireless communication protocols. The computing device 200 can furtherinclude a positioning module 260 (e.g., GPS) and an inertial measurementunit 264 that includes one or more accelerometers, gyroscopes, ormagnetometers. In certain aspects, the computing device 200 can store adesignated on-demand transport service application 232 in a memory 230.In variations, the memory 230 can store additional applicationsexecutable by one or more processors 240 of the computing device 200,enabling access and interaction with one or more host servers over oneor more networks 280.

The computing device 200 can be operated by a requesting user 197through execution of the on-demand service application 232. Thecomputing device 200 can further be operated by a transport provider 190through execution of a provider application. For requesting user 197implementations, the user can select the service application 232 via auser input on the display screen 220, which can cause the serviceapplication 232 to be executed by the processor 240. In response, a userapplication interface 222 can be generated on the display screen 220,which can display available transport options and enable the user toconfigure and submit a transport request for a transport provider totransport the user to a destination.

As provided herein, the application 232 can enable a communication linkwith a computing system 290 over one or more networks 280, such as thecomputing system 100 as shown and described with respect to FIG. 1. Theprocessor 240 can generate user interface features using content datareceived from the computing system 290 over network 280. Furthermore, asdiscussed herein, the application 232 can enable the computing system290 to cause the generated user interface 222 to be displayed on thedisplay screen 220.

In various examples, the positioning module 260 can provide locationdata indicating the current location of the users and transportproviders to the computing system 290 to, for example, enable thecomputing system 290 to coordinate on-demand transport, as describedherein. In examples described herein, the computing system 290 cantransmit content data to the communication interface 210 of thecomputing device 200 over the network(s) 280. The content data can causethe executing service application 232 to display the user interface 222for the executing application 232. Upon selection of a desired transportoption by a requesting user, the service application 232 can cause theprocessor 240 to transmit a transport request to the computing system290 to enable the computing system 290 to coordinate with transportproviders to rendezvous with the users and transport them to theirrespective destinations.

According to examples described herein, when the requesting user 197launches the service application 232, an initiation trigger istransmitted to the computing system 290, which causes the computingsystem 290 to determine a set of common destinations and determine a setof fares for each of the common destinations and pre-generate contentindicating the fares, which may or may not end up being displayed on theuser interface 222. In various implementations, the computing system 290can filter the common destinations based on the current contextualinformation of the user, such as location data indicating the user'scurrent location, a time of day, and/or a day of the week.

In various examples, the computing system 290 may then transmit thepre-generated content to the computing device 200. In someimplementations, the computing system 290 can wait for a set oftriggering conditions before transmitting the pre-generated content tothe computing device 200. For example, the computing system 290 canawait the user's selection of a particular destination prior totransmitting the pre-generated content. In variations, the computingsystem 290 can transmit the pre-generated content to be cached on thecomputing device 200 of the user. Thereafter, the service application232 can monitor the user's interaction with the user interface 222, andonce the triggering conditions are met (e.g., a selection of aparticular destination), the service application 232 can immediatelyload the pre-generated content that corresponds to the triggeringconditions from the cache.

Pre-Generated User Interface Features

FIGS. 3A and 3B are example GUIs showing the pre-generated GUI contentbeing presented, according to various examples. Referring to FIGS. 3Aand 3B, a graphical user interface 300 of a service application for atransport service can include a set of service options 308 for aparticular destination 312. As shown, the service options 308 caninclude a standard rideshare service, a comfort or luxury service, and ahigh-capacity vehicle service. In various examples, the service optionscan include additional options, such as a carpool option, food deliveryoption, package delivery option, and the like. The service options 308can each be associated with a fare, such as an estimated fare orguaranteed fare for providing transport for the user.

According to various examples, each service option 308 can be includedon a selectable user interface feature that enables the user to selectthe service option before confirming the service option on aconfirmation button 314. Each service option 308 can also include a userinterface feature 302, 304, 306 that displays the fare. In previousimplementations, once the destination is selected or specified, alatency period tolls as the fare is calculated by the computing device200 or backend computing system 100 (e.g., a load period between theuser interface 300 shown in FIG. 3A, in which the fares are not yetshown, and the user interface 300 FIG. 3B, where the fares arepresented). According to examples described herein, the user interfacefeatures 302, 304, 306 comprising the fares for each option arepresented using pre-generated content based on calculations alreadyperformed prior to the user selecting the destination 312. Accordingly,the latency period for displaying the fares is significantly reducedfrom the previous implementation.

Methodology

FIG. 4 is a flow chart describing an example method of pre-generatingGUI content for display on a computing device of a user, according tovarious examples. In the below description of FIG. 4, reference may bemade to reference characters representing like features as shown anddescribed with respect to FIGS. 1 through 3B. Furthermore, the processesdescribed in connection with FIG. 4 may be performed by a backendcomputing system 100, the computing device 190 of the user 197 via theexecuting service application 196, or a combination of both. Referringto FIG. 4, the computing system 100 can detect initiation dataindicating the launch of the service application 196 on the computingdevice 190 of a user 197 (400). In various examples, the computingsystem 100 can receive location data from the computing device 190 todetermine the current location of the user 197 (405).

The computing system 100 may then perform a search (e.g., in a userprofile 112 of the requesting user 197) to determine a set of possibleor likely destinations for which the user 197 typically requeststransport (410). In various implementations, the computing system 100can also determine the transport supply conditions for each destination(415). For example, the computing system 100 can determine whether thenumber of available transport providers 180 within a certain area inwhich the user 197 is located amounts to an oversupplied orundersupplied condition, which can affect the fare calculation. Infurther examples, the computing system 100 can select a representativetransport provider 180 to determine an ETA to pick up the user 197 andan ETA to transport the user 197 to each possible or likely destination.

Based on such information, the computing system 100 can pre-calculatefares for each transport service option and for each of the possibledestinations (420). The computing system 100 may then pre-generate datafor user interface content (e.g., a set of user interface features) onwhich the fares are to be presented for each service option (425). Invarious examples, the computing system 100 may then transmit contentdata corresponding to the pre-generated user interface features to thecomputing device 190 for caching and/or for causing the user interfaceto present the relevant set of pre-generated content features when thetriggering condition for the set of pre-generated content features ismet (435). For example, the service application 196 can cache thepre-generated content features until the user selects or inputs one ofthe possible or likely destinations, at which point the relevantpre-generated user interface features corresponding to that destinationmay be presented. Accordingly, when the user 197 specifies one of thelikely destinations, the computing system 100 can receive an indicationof the specified destination, and transmit triggering data to thecomputing device 190 of the user 197 to cause the set of user interfacefeatures that correspond to the specified destination to be presented onthe user interface of the client application 196.

Hardware Diagram

FIG. 5 is a block diagram that illustrates a computer system upon whichexamples described herein may be implemented. A computer system 500 canbe implemented on, for example, a server or combination of servers. Forexample, the computer system 500 may be implemented as part of a networkservice, such as described in FIGS. 1 through 4. In the context of FIG.1, the computer system 100 may be implemented using a computer system500 such as described by FIG. 5. The computer system 100 may also beimplemented using a combination of multiple computer systems asdescribed in connection with FIG. 5.

In one implementation, the computer system 500 includes processingresources 510, a main memory 520, a read-only memory (ROM) 530, astorage device 540, and a communication interface 550. The computersystem 500 includes at least one processor 510 for processinginformation stored in the main memory 520, such as provided by arandom-access memory (RAM) or other dynamic storage device, for storinginformation and instructions which are executable by the processor 510.The main memory 520 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by the processor 510. The computer system 500 may also includethe ROM 530 or other static storage device for storing staticinformation and instructions for the processor 510. A storage device540, such as a magnetic disk or optical disk, is provided for storinginformation and instructions.

The communication interface 550 enables the computer system 500 tocommunicate with one or more networks 580 (e.g., cellular network)through use of the network link (wireless or wired). Using the networklink, the computer system 500 can communicate with one or more computingdevices, one or more servers, one or more databases, and/or one or moreself-driving vehicles. In accordance with examples, the computer system500 receives initiation triggers, location data, and requests frommobile computing devices of individual users. The executableinstructions stored in the memory 530 can include content pre-generationinstructions 524 and fare calculation instructions 522.

By way of example, the instructions and data stored in the memory 520can be executed by the processor 510 to implement the functions of anexample computing system 100 of FIG. 1. In various examples, theprocessor 510 can execute the fare calculation instructions 522 toreceive location data 586 from requesting users 197 and transportproviders 180 and determine a set of fares for each service option toeach possible destination, as described herein. The processor 510 canfurther execute the content pre-generation instructions 524 to detectinitiation triggers 588 corresponding to user launches of the serviceapplication 196, perform searches to determine possible destinations,and pre-generate content 556 for displaying fares for each destination,according to examples described herein.

Examples described herein are related to the use of the computer system500 for implementing the techniques described herein. According to oneexample, those techniques are performed by the computer system 500 inresponse to the processor 510 executing one or more sequences of one ormore instructions contained in the main memory 520. Such instructionsmay be read into the main memory 520 from another machine-readablemedium, such as the storage device 540. Execution of the sequences ofinstructions contained in the main memory 520 causes the processor 510to perform the process steps described herein. In alternativeimplementations, hard-wired circuitry may be used in place of or incombination with software instructions to implement examples describedherein. Thus, the examples described are not limited to any specificcombination of hardware circuitry and software.

It is contemplated for examples described herein to extend to individualelements and concepts described herein, independently of other concepts,ideas or systems, as well as for examples to include combinations ofelements recited anywhere in this application. Although examples aredescribed in detail herein with reference to the accompanying drawings,it is to be understood that the concepts are not limited to thoseprecise examples. As such, many modifications and variations will beapparent to practitioners skilled in this art. Accordingly, it isintended that the scope of the concepts be defined by the followingclaims and their equivalents. Furthermore, it is contemplated that aparticular feature described either individually or as part of anexample can be combined with other individually described features, orparts of other examples, even if the other features and examples make nomentioned of the particular feature. Thus, the absence of describingcombinations should not preclude claiming rights to such combinations.

What is claimed is:
 1. A computing device comprising: a networkcommunication interface to communicate, over one or more networks, witha computing system; one or more processors; and a memory storinginstructions that, when executed by the one or more processors, causethe computing device to: transmit, to a computing system over the one ormore networks, data corresponding to an initiation of a clientapplication; before a user provides a specific destination on the clientapplication, receive, over the one or more network, data for a set ofuser interface features from the computing system, the datacorresponding to each of one or more likely destinations of the user;and cache the data for each of the one or more likely destinations in alocal memory of the computing device, wherein when the user specifies adestination that is one of the one or more likely destinations, theclient application retrieves a corresponding set of user interfacefeatures for the specified destination from the memory of the computingdevice.
 2. The computing device of claim 1, wherein the computing systemdetermines the one or more likely destinations based on the currentcontextual information of the user, the current contextual informationcomprising at least one of a current location of the user, a time ofday, or a day of the week.
 3. The computing device of claim 1, whereineach set of user interface features for each of the one or more likelydestinations is associated with at least one triggering condition. 4.The computing device of claim 3, wherein the executed instructionsfurther cause the computing device to: detect the at least onetriggering condition; and retrieve the corresponding set of userinterface features for the specified destination based on detecting theat least one triggering condition.
 5. The computing device of claim 3,wherein the at least one triggering condition corresponds to a userinput specifying the specified destination from the one or more likelydestinations.
 6. The computing device of claim 5, wherein the computingsystem generates the data for the set of user interface features bypre-calculating a set of fares for each respective destination of theone or more likely destinations, and wherein the corresponding set ofuser interface features correspond to the set of pre-calculated faresfor the specified destination.
 7. The computing device of claim 6,wherein the executed instructions further cause the computing device to:present each pre-calculated fare in the set of pre-calculated fares witha corresponding ride service of multiple ride services provided by atransport service facilitated by the computing system.
 8. The computingdevice of claim 1, wherein displaying the set of user interface featurescorresponding to the specified destination decreases interface latencyof a user interface of the client application displayed on the computingdevice.
 9. A non-transitory computer readable medium storinginstructions that, when executed by one or more processors of acomputing device, cause the computing device to: transmit, to acomputing system over one or more networks, data corresponding to aninitiation of a client application; before a user provides a specificdestination on the client application, receive, over the one or morenetwork, data for a set of user interface features from the computingsystem, the data corresponding to each of one or more likelydestinations of the user; and cache the data for each of the one or morelikely destinations in a local memory of the computing device, whereinwhen the user specifies a destination that is one of the one or morelikely destinations, the client application retrieves a correspondingset of user interface features for the specified destination from thememory of the computing device.
 10. The non-transitory computer readablemedium of claim 9, wherein the computing system determines the one ormore likely destinations based on the current contextual information ofthe user, the current contextual information comprising at least one ofa current location of the user, a time of day, or a day of the week. 11.The non-transitory computer readable medium of claim 9, wherein each setof user interface features for each of the one or more likelydestinations is associated with at least one triggering condition. 12.The non-transitory computer readable medium of claim 11, wherein theexecuted instructions further cause the computing device to: detect theat least one triggering condition; and retrieve the corresponding set ofuser interface features for the specified destination based on detectingthe at least one triggering condition.
 13. The non-transitory computerreadable medium of claim 11, wherein the at least one triggeringcondition corresponds to a user input specifying the specifieddestination from the one or more likely destinations.
 14. Thenon-transitory computer readable medium of claim 13, wherein thecomputing system generates the data for the set of user interfacefeatures by pre-calculating a set of fares for each respectivedestination of the one or more likely destinations, and wherein thecorresponding set of user interface features correspond to the set ofpre-calculated fares for the specified destination.
 15. Thenon-transitory computer readable medium of claim 14, wherein theexecuted instructions further cause the computing device to: presenteach pre-calculated fare in the set of pre-calculated fares with acorresponding ride service of multiple ride services provided by atransport service facilitated by the computing system.
 16. Thenon-transitory computer readable medium of claim 9, wherein displayingthe set of user interface features corresponding to the specifieddestination decreases interface latency of a user interface of theclient application displayed on the computing device.
 17. Acomputer-implemented method of operating a computing device, the methodbeing performed by one or more processors of the computing device andcomprising: transmitting, to a computing system over one or morenetworks, data corresponding to an initiation of a client application;before a user provides a specific destination on the client application,receiving, over the one or more network, data for a set of userinterface features from the computing system, the data corresponding toeach of one or more likely destinations of the user; and caching thedata for each of the one or more likely destinations in a local memoryof the computing device, wherein when the user specifies a destinationthat is one of the one or more likely destinations, the clientapplication retrieves a corresponding set of user interface features forthe specified destination from the memory of the computing device. 18.The method of claim 17, wherein the computing system determines the oneor more likely destinations based on the current contextual informationof the user, the current contextual information comprising at least oneof a current location of the user, a time of day, or a day of the week.19. The method of claim 17, wherein each set of user interface featuresfor each of the one or more likely destinations is associated with atleast one triggering condition.
 20. The method of claim 19, furthercomprising: detecting the at least one triggering condition; andretrieving the corresponding set of user interface features for thespecified destination based on detecting the at least one triggeringcondition.